//计算糖果

//A,B,C是三个人手里的糖果数量，我们不知道A,B,C是多少？但是我们知道A - B, B - C, A + B, B + C的结果，
//这个结果题目是通过输入测试用例给我们的。所以本题本质是一个表达式求解问题。

//解题思路:
//1:A - B = a 、2:B - C = b 、3:A + B = c 、4:B + C = d 这道题目的实质是：判断三元一次方程组是否有解及求解
//1+3可以得到A=(a+c)/2；4-2可以得到C=(d-b)/2;
//2+4可以得到B2=(b+d)/2，3-1可以得到B1=(c-a)/2；
//如果B1不等B2则表达式无解

#include <iostream>
using namespace std;

int main()
{
    int a,b,c,d;
    cin >> a >> b >> c >>d;

    int A = (a + c)/2;
    int C = (d - b)/2;
    int B1 = (c - a)/2;
    int B2 = (b + d)/2;

    if(B1 != B2)
        cout << "NO";
    else 
        cout << A << " " << B1 << " " << C;

    return 0;
}
